Einrichtung und Nutzung von Mutt

Packete instalieren (in SARBS bereits instaliert)

sudo pacman -S neomutt isync msmtp
yay -S mutt-wizard-git

GPG für Pass einrichten

gpg --full-generate-key
User-ID			"Pass PGP-Schlüssel"
Kommentar		"PGP Schlüssel für Pass-Passwortmanager"
Passwort		"*******"

oder vorhandene Schlüssel importieren

gpg --import privat-key.asc
gpg --import public-key.asc

PGP Schlüssel Exportieren

gpg --armor --export-secret-keys DEINE-PGP-KEY-ID > pass-private.asc
gpg --armor --export DEINE-PGP-KEY-ID > pass-public.asc
# Später importieren mit
gpg --import *.asc

Pass mit der erstellten oder importierten PGP Schlüssel Initiieren

pass init "DEINE-PGP-KEY-ID"

Mutt Wizzard

mw -a deine@e.mail

Bedienung Neomutt

i+1 Postfach 1 auswählen
y Mailbox auswählen

Verbindung zur Mailbox anpassen

Notice: SSLType is deprecated. Use TLSType instead.
nvim ~/.config/mbsync/config
alle SSLType gegen TLSType austauschen

Namen der angezeigt werden soll, ändern

v /home/sergi/.config/mutt/accounts/esf35@posteo.de.muttrc
set real_name = "Sergius"
set from = "sergius@posteo.de"

PamGnuPG einrichten

Installieren der notwendigen Pakete (bei Sarbs bereits vorinstaliert)

sudo pacman -S pam-gnupg

GnuPG Agent konfigurieren
/home/sergi/.local/share/gnupg/gpg-agent.conf

GPG-Schlüssel für Mailverschlüsselung einrichten

GPG-Schlüssel für Mailverschlüsselung einrichten
Schlüssel-Setup (Zwei-Schlüssel-System)
Dieses Setup trennt die Authentifizierung (Pass) von der E-Mail-Verschlüsselung:

Pass-Schlüssel: Für Passwort-Manager und Mail-Account-Authentifizierung (8h Cache)
E-Mail-Schlüssel: Für Verschlüsselung/Signierung von Mail-Inhalten (kein Cache)

# E-Mail-Verschlüsselungsschlüssel erstellen
gpg --full-gen-key
# Name: Sergius (E-Mail Verschlüsselung)
# E-Mail: sergius@posteo.de UND esf35@posteo.de hinzufügen

Beide E-Mail-Adressen zum Schlüssel hinzufügen

# Falls Alias verwendet wird (sergius@posteo.de als Alias für esf35@posteo.de)
gpg --edit-key 0x25CF561BD806D1A9
gpg> adduid
# Real name: Sergius
# E-Mail: esf35@posteo.de
# Comment: Posteo Account
gpg> save

KEY_ID herausfinden

gpg --list-secret-keys --keyid-format 0xLONG
# Die KEY_ID beginnt mit 0x (für neomutt bevorzugt)

Neomutt-Konfiguration

In ~/.config/mutt/accounts/esf35@posteo.de.muttrc:

# E-Mail-Verschlüsselungsschlüssel
set crypt_use_gpgme = no  # WICHTIG: Klassisches GPG statt GPGME (behebt Probleme mit custom GNUPGHOME)
set pgp_default_key = "0x25CF561BD806D1A9"
set pgp_sign_as = "0x25CF561BD806D1A9"
set pgp_self_encrypt = yes
set pgp_self_encrypt_as = "0x25CF561BD806D1A9"

# Crypt-Hooks für Alias-Mapping
crypt-hook esf35@posteo.de 0x25CF561BD806D1A9
crypt-hook sergius@posteo.de 0x25CF561BD806D1A9

# Auto-sign/encrypt Optionen
set crypt_autosign = no           # Manuell signieren wenn gewünscht
set crypt_opportunistic_encrypt = no  # Manuell verschlüsseln
set crypt_replyencrypt = yes       # Verschlüsselte Antworten auf verschlüsselte Mails
set crypt_replysign = yes          # Signierte Antworten auf signierte Mails

# GPG-Agent
set pgp_use_gpg_agent = yes

Test-Befehle

# GPG-Agent prüfen
gpg-connect-agent /bye
gpg-connect-agent RELOADAGENT /bye

# Signatur-Test mit beiden Identitäten
echo "test" | gpg --clearsign --local-user 0x25CF561BD806D1A9
echo "test" | gpg --clearsign --local-user sergius@posteo.de
echo "test" | gpg --clearsign --local-user esf35@posteo.de

# Verschlüsselungs-Test
echo "test" | gpg --encrypt --recipient sergius@posteo.de > test.gpg
gpg --decrypt test.gpg

Neomutt Shortcuts

S = Security-Menü beim Compose
s = sign (signieren)
e = encrypt (verschlüsseln)
b = both (beides)

Offene Punkte / TODO

[ ] Pinentry-rofi konfigurieren für bessere Schlüssel-Identifikation
[ ] Cache-Strategie implementieren (Pass-Key 8h, E-Mail-Key 0h)
[ ] GPG-Agent Debug wenn Pinentry nicht erscheint
[ ] Problem lösen: "Geheimer Schlüssel nicht gefunden" in neomutt